<?php
class mtransaccionentrada extends Model 
{
	private $_tableName='IB_TransaccionesEntrada';
	
	public function __construct()
	{
		parent::Model();
	}
		
    public function createRegistro($data)
    {
    	$this->db->insert($this->_tableName, $data);
    }
    
    public function updateRegistro($data,$id)
    {
    		$this->db->where('IdTransaccion', $id);
            $this->db->update($this->_tableName, $data); 
    }
	
    public function LoadTransacionCantidad($cant,$id)
	{
		$qresult = $this->db->get_where($this->_tableName, array($cant => $id));
		return $qresult->num_rows();
	}
	
	public function loadTransacionByArray($where)
	{
		 $result = $this->db->get_where($this->_tableName, $where);
		
	     return $this->GetJurisdiccionArrayFromQueryResult($result);	
	}
	
	public function loadCantByWhere($where, $user = false)
	{
		    if ($user != false) {
		    	$this->db->where('IdUsuario', $user);
		    }
		    $qresult = $this->db->get_where($this->_tableName, $where);
			return $qresult->num_rows();	
	}
	
	
	//funcion para filtro
	function LoadTransacionCantidadFiltro($fecha1, $fecha2, $use = false, $ventas = false)
	{
		if ($use < 1) {
			
			  
			
			$qresult = $this->db->get_where($this->_tableName, array(
		                                                         'DateSistema >='=>$fecha1,
	                                                             'DateSistema <='=>$fecha2));
			return $qresult->num_rows();	
			
			
		}
		
		if ($ventas == true) {
				$qresult = $this->db->get_where($this->_tableName, array(
		                                                         'FechaHistorico >='=>$fecha1,
	                                                             'FechaHistorico <='=>$fecha2,
		                                                         'IdUsuario'=>$use,
				                                                 'idMotivoSalida'=>6));
		                   return $qresult->num_rows();
		}else{
			   
				$qresult = $this->db->get_where($this->_tableName, array(
		                                                         'DateSistema >='=>$fecha1,
	                                                             'DateSistema <='=>$fecha2,
		                                                         'IdUsuario'=>$use));
		                   return $qresult->num_rows();
			
		}
		
	
		
	}
	
	function LoadTransacionCantidadFiltro2($fecha1,$fecha2)
	{
		$qresult = $this->db->get_where($this->_tableName, array(
		                                                          'FechaHistorico >='=>$fecha1,
		                                                          'FechaHistorico <='=>$fecha2,
		                                                          'idMotivoSalida'=>6));
		return $qresult->num_rows();
	}
	
	//filtro del controlador  ventas_servicio.php
	
	function LoadTransacionCantidadVentasServicio($fecha1 = false,$fecha2 = false,$id)
	{
		if ($fecha1 != false) {
			
			$qresult = $this->db->get_where($this->_tableName, array(
		                                                          'DateSistema >='=>$fecha1,
		                                                          'DateSistema <='=>$fecha2,
		                                                          'idMotivoSalida'=>6,
		                                                          'idTipoEntrada'=>$id));
		}else{
			
		$qresult = $this->db->get_where($this->_tableName, array(
		                                                          
		                                                          'idMotivoSalida'=>6,
		                                                          'idTipoEntrada'=>$id));
	   }	
	
		return $qresult->num_rows();
	}
	
	
	function LoadTransacionCantidadBasuraServicio($fecha1 = false,$fecha2 = false,$id)
	{
		if ($fecha1 != false) {
			
			$qresult = $this->db->get_where($this->_tableName, array(
		                                                          'DateSistema >='=>$fecha1,
		                                                          'DateSistema <='=>$fecha2,
		                                                          'idMotivoSalida'=>9,	                                                          'idTipoEntrada'=>$id));
	}else{
		
		$qresult = $this->db->get_where($this->_tableName, array(
		                                                          
		                                                          'idMotivoSalida'=>9,
		                                                          'idTipoEntrada'=>$id));
	   }	
	   
	
		return $qresult->num_rows();
		
	}
	
	
	function LoadTransacionCantidadCofusionServicio($fecha1 = false,$fecha2 = false,$id)
	   {
		if ($fecha1 != false) {
			
			$qresult = $this->db->get_where($this->_tableName, array(
		                                                          'DateSistema >='=>$fecha1,
		                                                          'DateSistema <='=>$fecha2,
		                                                          'idMotivoSalida'=>10,
		                                                          'idTipoEntrada'=>$id));
		}
	   else 
	    {
		$qresult = $this->db->get_where($this->_tableName, array(
		                                                          
		                                                          'idMotivoSalida'=>10,
		                                                          'idTipoEntrada'=>$id));
	   }	
	   
	
		return $qresult->num_rows();
		
	}
	
	function LoadTransacionCantidadAsServicio($fecha1 = false,$fecha2 = false,$id)
	{
		if ($fecha1 != false) {
			
			$qresult = $this->db->get_where($this->_tableName, array(
		                                                          'DateSistema >='=>$fecha1,
		                                                          'DateSistema <='=>$fecha2,
		                                                          'idMotivoSalida'=>13,
		                                                          'idTipoEntrada'=>$id));
		}
	   else 
	    {
		$qresult = $this->db->get_where($this->_tableName, array(
		                                                          
		                                                          'idMotivoSalida'=>13,
		                                                          'idTipoEntrada'=>$id));
	   }	
	
		return $qresult->num_rows();
	}
	
	
	function LoadTransacionCantidadN0dServicio($fecha1 = false,$fecha2 = false,$id)
	{
		if ($fecha1 != false) {
			
			$qresult = $this->db->get_where($this->_tableName, array(
		                                                          'DateSistema >='=>$fecha1,
		                                                          'DateSistema <='=>$fecha2,
		                                                          'idMotivoSalida'=>11,
		                                                          'idTipoEntrada'=>$id));
		}
	   else 
	    {
		$qresult = $this->db->get_where($this->_tableName, array(
		                                                          
		                                                          'idMotivoSalida'=>11,
		                                                          'idTipoEntrada'=>$id));
	   }	
	
		return $qresult->num_rows();
	}
	

    
    
	function LoadjurisdiccionById($id_transaccion) 
	{
		$qresult = $this->db->get_where($this->_tableName, array('IdTransaccion' => $id_transaccion));		
		if ($qresult->num_rows() == 0)
				return false;

				return new  obj_transacion($qresult->row());
	}
	
	//funcion para filtro de color inbaud
	
	function loadColorDia($id)
	{
		 $qresult = $this->db->get_where($this->_tableName, array('IdTransaccion' => $id));		
		 if ($qresult->num_rows() == 0)
				return false;

			$var = new  obj_transacion($qresult->row());
	}
	
	    
	function LoadjurisdiccionById2($id) 
	{
		
		$result = $this->db->get_where($this->_tableName,array('idMotivoSalida'=>$id));
   		return $this->GetJurisdiccionArrayFromQueryResult($result);
		
	}
	
	public function LoadInbounds($array)
	{
		
		 $result = $this->db->get_where($this->_tableName, $array);
		 return $this->GetJurisdiccionArrayFromQueryResult($result);	   
	}
	
	function LoadjurisdiccionByIdf2($id) 
	{
		if ($this->session->userdata('fechaInicio')) {
			
			$result = $this->db->get_where($this->_tableName,array('idMotivoSalida'=>$id,
			                                                       'DateSistema <='=> $this->session->userdata('fechaInicio'),
			                                                       'DateSistema >='=> $this->session->userdata('fechaFin')));
		}
		else 
		$result = $this->db->get_where($this->_tableName,array('idMotivoSalida'=>$id));
	
   	return $this->GetJurisdiccionArrayFromQueryResult($result);
		
	}
	

	function LoadjurisdiccionByName($name,$email) 
	{
		$qresult = $this->db->get_where($this->_tableName, array('referencia' => $name,'email'=>$email));		
		if ($qresult->num_rows() == 0)
			return false;
			return new obj_transacion($qresult->row());
	}
	
    function LoadTransacionByName($name) 
	{
		$qresult = $this->db->get_where($this->_tableName, array('referencia' => $name));		
		if ($qresult->num_rows() == 0)
		{
			return false;
		}
		else 
		{
			return new obj_transacion($qresult->row());
		}	
			
	}
	
	function Loadcantidad($id)
	{
		if ($this->session->userdata('fechaInicio')) {
			$qresult = $this->db->where('idServicios', $id); 
			$qresult = $this->db->where('StadoTransaccion', 0); 
			$qresult = $this->db->where('DateSistema <=', $this->session->userdata('fechaInicio'));
			$qresult = $this->db->where('DateSistema >=', $this->session->userdata('fechaFin'));
			$qresult = $this->db->get($this->_tableName);
		}
		else 
		$qresult = $this->db->get_where($this->_tableName, array('idServicios'=>$id,'StadoTransaccion'=>0));		
		
		return $qresult->num_rows();
	}
	
	function Loadcantidad2($id)
	{
		
		
		if ($id == 0) {
			if ($this->session->userdata('fechaInicio')) {
			               
			                $qresult = $this->db->where('StadoTransaccion', 1); 
			                $qresult = $this->db->where('DateSistema <=', $this->session->userdata('fechaInicio'));
			                $qresult = $this->db->where('DateSistema >=', $this->session->userdata('fechaFin'));
			                $qresult = $this->db->get($this->_tableName);
		    }
		    else 	
		     $qresult = $this->db->get_where($this->_tableName, array('StadoTransaccion'=>1));		
		
	    }
	    else 
	    {
	    	if ($this->session->userdata('fechaInicio')) {
			                $qresult = $this->db->where('idServicios', $id); 
			                $qresult = $this->db->where('StadoTransaccion', 1); 
			                $qresult = $this->db->where('DateSistema <=', $this->session->userdata('fechaInicio'));
			                $qresult = $this->db->where('DateSistema >=', $this->session->userdata('fechaFin'));
			                $qresult = $this->db->get($this->_tableName);
		    }
		    else 
		     $qresult = $this->db->get_where($this->_tableName, array('idServicios'=>$id,'StadoTransaccion'=>1));
	    }
			
		
		
		return $qresult->num_rows();
	}
	
	function Loadcantidad3($id)
	{
		
		
		if ($id == 0) {
			if ($this->session->userdata('fechaInicio')) {
			$array = array('StadoTransaccion  !='=>2,
			              'DateSistema <='=> $this->session->userdata('fechaInicio'),
			              'DateSistema >='=> $this->session->userdata('fechaFin'));
			}
			else 
			$array = array('StadoTransaccion  !='=>2,);
		}
		else 
		{
			if ($this->session->userdata('fechaInicio'))
			{
				$array = array('idServicios' =>$id,
			               'StadoTransaccion  !='=>2,
			               'DateSistema <='=> $this->session->userdata('fechaInicio'),
			              'DateSistema >='=> $this->session->userdata('fechaFin')
			                 );
				
			}
			else 
			{
				
				$array = array('idServicios' =>$id,
			               'StadoTransaccion  !='=>2);
			}
			
			
		}
		
		
		$qresult = $this->db->where($array);
		$qresult = $this->db->get($this->_tableName);		
		return $qresult->num_rows();
	}
	
	function Loadcantidad4($id)
	{
		if ($this->session->userdata('fechaInicio')) {
			$qresult = $this->db->get_where($this->_tableName, array('idServicios'=>$id,'StadoTransaccion'=>0,'IdUsuario'=>9,'DateSistema <='=> $this->session->userdata('fechaInicio'),
			              'DateSistema >='=> $this->session->userdata('fechaFin')));	
		}
		else 
		$qresult = $this->db->get_where($this->_tableName, array('idServicios'=>$id,
		                                                          'StadoTransaccion'=>0,
		                                                          'IdUsuario'=>9,
		                                                         ));		
		return $qresult->num_rows();
	}
	
	function LoadUseTransacion($id){
		
	   if ($this->session->userdata('fechaInicio')) {
			$qresult = $this->db->get_where($this->_tableName, array('IdUsuario'=>$id,'DateSistema <='=> $this->session->userdata('fechaInicio'),
			              'DateSistema >='=> $this->session->userdata('fechaFin')));	
		}else {
		   $qresult = $this->db->get_where($this->_tableName, array('IdUsuario'=>$id));
		}
		return $qresult->num_rows();
		
	}
	
	function LoadVentaUseTransacion($id){
		
	
		   $qresult = $this->db->get_where($this->_tableName, array('IdUsuario'=>$id,'idMotivoSalida'=>6));
		   return $qresult->num_rows();
		
	}
	
	function PorcentageUseVenta($id)
	{
		$cantidadInbund = $this->db->get_where($this->_tableName, array('IdUsuario'=>$id));
		$cantidadInbund = $cantidadInbund->num_rows();
		
		$cantidadVenta = $this->db->get_where($this->_tableName, array('IdUsuario'=>$id,'idMotivoSalida'=>6));
		$cantidadVenta = $cantidadVenta->num_rows();
		
		$porcenta = $cantidadVenta/$cantidadInbund;
		$porcenta = $porcenta * 100;
		return $porcenta;
		
	}
	
	function Loadcantidad5($id,$use)
	{
		if ($use == 0) {
		$qresult = $this->db->get_where($this->_tableName, array('idServicios'=>$id,'StadoTransaccion'=>0, 'DateSistema <='=> $this->session->userdata('fechaInicio'),
			              'DateSistema >='=> $this->session->userdata('fechaFin')));			
		}
		else 
		$qresult = $this->db->get_where($this->_tableName, array('idServicios'=>$id,'StadoTransaccion'=>0,'IdUsuario'=>$use,'DateSistema <='=> $this->session->userdata('fechaInicio'),
			              'DateSistema >='=> $this->session->userdata('fechaFin')));		
		
		return $qresult->num_rows();
	}
	
	function LoadGraficoEntrada($id,$var)
	{
		if ($var == 2) {
			 if ($this->session->userdata('fechaInicio')) {
			 	 $qresult = $this->db->get_where($this->_tableName, array("idTipoEntrada"=>$id,
			 	                                                          "StadoTransaccion"=>1,
			 	                                                          'DateSistema <='=> $this->session->userdata('fechaInicio'),
			 	                                                          'DateSistema >='=> $this->session->userdata('fechaFin')));
			 }
			 else 
			 $qresult = $this->db->get_where($this->_tableName, array("idTipoEntrada"=>$id,"StadoTransaccion"=>1));		
		
		}
		elseif ($var == 1)
		{
			if ($this->session->userdata('fechaInicio')) {
				$qresult = $this->db->get_where($this->_tableName, array("idTipoEntrada"=>$id,
				                                                         "StadoTransaccion"=>0,
				                                                         'DateSistema <='=> $this->session->userdata('fechaInicio'),
			 	                                                         'DateSistema >='=> $this->session->userdata('fechaFin')));
			}
			else 
			 $qresult = $this->db->get_where($this->_tableName, array("idTipoEntrada"=>$id,"StadoTransaccion"=>0));		
		
		}
		else 
		{
		if ($this->session->userdata('fechaInicio')) {
		                     $array = array('idTipoEntrada' =>$id,
		                                    'StadoTransaccion  !='=>2,
		                                    'DateSistema <='=> $this->session->userdata('fechaInicio'),
			 	                            'DateSistema >='=> $this->session->userdata('fechaFin'));	
		}
		else {
		 $array = array('idTipoEntrada' =>$id,'StadoTransaccion  !='=>2);
		}
		
	    $qresult = $this->db->where($array);
		$qresult = $this->db->get($this->_tableName);	
		}
		
		return $qresult->num_rows();
	}
	
   function LoadGraficoEntrada2($id,$var)
	{
		
		if ($this->session->userdata('fechaInicio')) {
			$qresult = $this->db->get_where($this->_tableName, array("idTipoEntrada"=>$id,
			                                                          "StadoTransaccion"=>0,
			                                                          'IdUsuario'=>$var,
			                                                          'DateSistema <='=> $this->session->userdata('fechaInicio'),
			 	                                                      'DateSistema >='=> $this->session->userdata('fechaFin')));
		}
		else 
		{
			
			 $qresult = $this->db->get_where($this->_tableName, array("idTipoEntrada"=>$id,
			                                                          "StadoTransaccion"=>0,
			                                                          'IdUsuario'=>$var
			                                                            ));	
			
		}
			
		
		  return $qresult->num_rows();
	}
	
	
	
    function LoadGraficoSalida($id)
	{
		
		if ($this->session->userdata('fechaInicio'))
		{
			$qresult = $this->db->get_where($this->_tableName, array("idMotivoSalida"=>$id,
			                                                         "StadoTransaccion"=>1,
			                                                         'DateSistema <='=> $this->session->userdata('fechaInicio'),
			 	                                                     'DateSistema >='=> $this->session->userdata('fechaFin')));		
		}
		elseif (strlen($this->session->userdata('iniciov') > 5))
		{
			
			$qresult = $this->db->get_where($this->_tableName, array("idMotivoSalida"=>$id,
			                                                         "StadoTransaccion"=>1,
			                                                         'DateSistema <='=> $this->session->userdata('iniciov'),
			 	                                                     'DateSistema >='=> $this->session->userdata('finv')));		
			
		}
		else 
		{
			 $qresult = $this->db->get_where($this->_tableName, array("idMotivoSalida"=>$id,"StadoTransaccion"=>1));	
		}
		
		return $qresult->num_rows();
	}
	
	   function LoadGraficoSalida2($id,$use)
	{
		if ($this->session->userdata('fechaInicio'))
		{
	          $qresult = $this->db->get_where($this->_tableName, array("idMotivoSalida"=>$id,
	                                                                   "StadoTransaccion"=>1,
	                                                                   'IdUsuario'=>$use,
	                                                                   'DateSistema <='=> $this->session->userdata('fechaInicio'),
			 	                                                       'DateSistema >='=> $this->session->userdata('fechaFin')));	
		}
		else {
	    $qresult = $this->db->get_where($this->_tableName, array("idMotivoSalida"=>$id,
	                                                             "StadoTransaccion"=>1,
	                                                             'IdUsuario'=>$use));		
		}
		return $qresult->num_rows();
	}
	
		function LoadjurisdiccionByRefe($referencia) 
	{
		$qresult = $this->db->get_where($this->_tableName, array('referencia' => $referencia));		
		if ($qresult->num_rows() == 0)
				return false;

			return new obj_transacion($qresult->row());
	}
	
	 //funcion creada para el fitro de dias sin trasacion alguna
	
	function loadnew($id)
	{
		$this->db->like('StadoTransaccion', 0);
		$result = $this->db->get($this->_tableName);
	
			$var =  $this->GetJurisdiccionArrayFromQueryResult($result);
			
			foreach($var as $j)
			{
				
			  $num[] = $this->loadLastDetalle($j->getIdTransaccion());	
			  
			}
			
			return $num;
			
	}
	
	function loadLastDetalle($idcompania)
	{
		$this->db->select_max('id');
		$query=$this->db->get_where('detallesregistroentrada',array('IdTrasacionEntrada' =>$idcompania));
		$res=$query->result();
		$rs=$res[0]->id;
		return $rs;
	}
	
	function LoadJurisdiccion($referencia = false, $contacto = false, $servicio = false, $start = false, $offset = false, $sortname = false, $sortorder = false) 
	{
		   //$array = array('StadoTransaccion'=>0);
		   
		   if ($referencia != false) 
		         $this->db->like('referencia', $referencia);
		         
		   if ($contacto != false) 
		         $this->db->like('Contacto', $contacto);  

		    if ($servicio != false)  
		            $this->db->where('idServicios', $servicio);     
		   
		   //	$this->db->like('referencia', $nombre);
		   	
		   if($sortname != false && $sortorder != false) {
			$this->db->order_by($sortname, $sortorder);
		   }
		   
			if($offset != false)
				$this->db->limit($offset, $start);
	 	    	 	               
			$result = $this->db->get_where($this->_tableName/*,$array*/);
	
			return $this->GetJurisdiccionArrayFromQueryResult($result);
   }
   
   function LoadGraficoKpis($usuario,$fdesde,$fhasta,$fecha) 
	{
		  

		    if ($usuario != NULL)  
		            $this->db->where('IdUsuario',$usuario);     
		   
                        if($fecha != NULL)
                        {
                            $this->db->where("DateSistema >=",$fdesde);
                            $this->db->where("DateSistema <=", $fhasta);
                            
                        }
			$result = $this->db->get_where($this->_tableName);
	
			return $this->GetJurisdiccionArrayFromQueryResult($result);
   }
   
   
   
   	function LoadCompania2($nombre = false, $start = false, $offset = false, $sortname = false, $sortorder = false) 
	{
	    $result = $this->db->or_where_in('IdTransaccion',$nombre);
		$result = $this->db->get($this->_tableName);
		return $this->GetJurisdiccionArrayFromQueryResult($result);
	}
   
   function LoadTransacion(){
   	$result = $this->db->get_where($this->_tableName,array('StadoTransaccion'=>0));
	return $this->GetJurisdiccionArrayFromQueryResult($result);
   }
   
  function LoadTransacionWhere($where, $usuario = false){
  	
  	if ($usuario != false) {
          		
		    	$this->db->where('IdUsuario', $usuario);
		    }
		    
   	$result = $this->db->get_where($this->_tableName,$where);
	return $this->GetJurisdiccionArrayFromQueryResult($result);
   }
   
 function LoadTransacionIdUse($id){
 	 
   	$result = $this->db->get_where($this->_tableName,array('IdUsuario'=>$id));
	return $this->GetJurisdiccionArrayFromQueryResult($result);
   }
   
   function loadTransacionScore($use,$fecha_i,$fecha_f){
   	     $array = array(
   	                     'IdUsuario'=>$use,
   	                     'DateSistema >='=>$fecha_i,
   	                     'DateSistema <='=>$fecha_f
   	                   );
   	                   
   	    $result = $this->db->get_where($this->_tableName,$array);               	   
	    return $this->GetJurisdiccionArrayFromQueryResult($result);
   }
   
   //load de la compania de los mail
   
   function LoadTransacionAdmin($where){
   	    
   	   for ($i = 0;$i < count($where);$i++){
   		    if ($i == 0){
   		    	$result = $this->db->where('IdTransaccion',$where[$i]);
   		    }else{
   		    	$result = $this->db->or_where('IdTransaccion',$where[$i]);
   		    }
   		
   	   }
   	  
       $result = $this->db->get($this->_tableName);
	   return $this->GetJurisdiccionArrayFromQueryResult($result);
   	
   }
   
 function GetCountAdmin($where) 
    {
		return count($this->LoadTransacionAdmin($where));
	}
   
   
    function LoadTransacion2($var,$use){
   	if ($use == 0) {
   		  if ($this->session->userdata('fechaInicio')) {
   		  	$result = $this->db->get_where($this->_tableName,array('StadoTransaccion'=>0,
   		  	                                                       'DateSistema <='=> $this->session->userdata('fechaInicio'),
			 	                                                   'DateSistema >='=> $this->session->userdata('fechaFin')
   		  	                                                       ));
   		  }
   		  else 
   		   $result = $this->db->get_where($this->_tableName,array('StadoTransaccion'=>0)); 
   	}
   	else 
   	{
   		 if ($this->session->userdata('fechaInicio')) {
   		 	$result = $this->db->get_where($this->_tableName,array('StadoTransaccion'=>0,
   		 	                                                       'IdUsuario'=>$use,
   		 	                                                       'DateSistema <='=> $this->session->userdata('fechaInicio'),
			 	                                                   'DateSistema >='=> $this->session->userdata('fechaFin')
   		 	                                                       ));
   		 	
   		 }
   		 else 
   		 	$result = $this->db->get_where($this->_tableName,array('StadoTransaccion'=>0,'IdUsuario'=>$use));
   	}
   
	
   	return $this->GetJurisdiccionArrayFromQueryResult($result);
   }
		
	function GetJurisdiccionArrayFromQueryResult($result) 
	{
			if ($result->num_rows() == 0)
				return false;
	
			$etapas_arr = array();
	
			foreach ($result->result() as $record) {
				$etapas_arr[] = new obj_transacion($record);
			}
	
			return $etapas_arr;
    }
    
    function GetCount() 
    {
		return count($this->LoadJurisdiccion());
	}
	
	 function GetCount2() 
    {
		return count($this->LoadJurisdiccion('p',1));
	}
	
	function Delete($id_transaccion) 
    {		
    
		$data=array('StadoTransaccion'=>2);
		$this->db->where('IdTransaccion', $id_transaccion);
        if ($this->db->update($this->_tableName, $data))
        {
        	 $this->session->set_userdata('load',1);
        }
	}
	
	function eliminal($id)
	{
         $this->db->where('IdTransaccion', $id);
		if ($this->db->delete($this->_tableName)) {
			return true;
		}
		
		  return false;
		
	}
	
	
	 function finalizar($id,$motivo)
	{
		
		$data=array(
		            'StadoTransaccion'=>1,
		            'idMotivoSalida'=>$motivo,
		            'FechaHistorico'=>date('Y-m-d').' 0:00:00'
		            );
		$this->db->where('IdTransaccion', $id);
        if ($this->db->update($this->_tableName, $data))
        {
        	return true;
        }
	}
	
	  function CalcularDias($fechapar,$fechaact)
  {
       
		$fechapar = substr($fechapar,0,10);
		
		$fechaact = substr($fechaact,0,10);
		
		$fechapar_arr=explode('-',$fechapar);
		
	
		$fechapar_mk=mktime(0,0,0,$fechapar_arr[1],$fechapar_arr[2],$fechapar_arr[0]);
		$fechapar_mk=intval($fechapar_mk);

		$fechaact_arr=explode('-',$fechaact);
		$fechaact_mk=mktime(0,0,0,$fechaact_arr[1],$fechaact_arr[2],$fechaact_arr[0]);
		$fechaact_mk=intval($fechaact_mk);

		$segundos_diferencia =$fechaact_mk-$fechapar_mk;
		$dias_diferencia = $segundos_diferencia / (60 * 60 * 24);
		return  $dias_diferencia;

  }
  
  	function CalcularDias2($fechapar,$fechaact)
	{
       
		
		$fechaact = substr($fechaact,0,10);
		$fechapar = date('Y-m-d');
		$fechapar_arr=explode('-',$fechapar);
		
	
		$fechapar_mk=mktime(0,0,0,$fechapar_arr[1],$fechapar_arr[2],$fechapar_arr[0]);
		$fechapar_mk=intval($fechapar_mk);

		$fechaact_arr=explode('-',$fechaact);
		$fechaact_mk=mktime(0,0,0,$fechaact_arr[1],$fechaact_arr[2],$fechaact_arr[0]);
		$fechaact_mk=intval($fechaact_mk);

		$segundos_diferencia =$fechaact_mk-$fechapar_mk;
		$dias_diferencia = $segundos_diferencia / (60 * 60 * 24);
		return  $dias_diferencia;

	}
	
	
	/*
	function diasEntrada($id)
	{	
           $var =$this->LoadjurisdiccionByIdf2($id);
			
           if (!$var) {
           	   return 0;
           }
			
		$dias = 0;
		foreach ($var as $k)
		{
			$dias = $dias + $this->CalcularDias($k->getDateSistema(),$k->getFechaH());
		}
		
		return substr($dias/count($var),0,4);
	}
	
	*/
	
	 function LoadTransacionCantidadp($id)
	{
		if ($this->session->userdata('fechaInicio')) {
			$qresult = $this->db->get_where($this->_tableName, array('idMotivoSalida' => $id,
			                                                         'StadoTransaccion'=>1,
			                                                         'DateSistema <='=> $this->session->userdata('fechaInicio'),
			 	                                                     'DateSistema >='=> $this->session->userdata('fechaFin')));
		}
		else 
		$qresult = $this->db->get_where($this->_tableName, array('idMotivoSalida' => $id,'StadoTransaccion'=>1));
		
		return $qresult->num_rows();
	}
	
	function porHistorico($id)
	{
		
		$todas = $this->Loadcantidad2(0);
		$var =$this->LoadTransacionCantidadp($id);
		if ($var == 0) {
			return 00;
		}
		
		
		$nuew = $var * 100;
		$nuew = $nuew / $todas;
		
		return intval($nuew);
		
	}
	
	
	function porTodos($id)
	{
		$todas = $this->Loadcantidad3(0);
		$var =$this->LoadTransacionCantidadp($id);
		if ($var == 0) {
			return 00;
		}
		
		
		$nuew = $var * 100;
		$nuew = $nuew / $todas;
		
		return intval($nuew);
		
	}
		
}



class obj_transacion
{
	private $idtransaccion;
	private $referencia;
	private $datesolicitud;
	private $datesistema;
	private $tipoentrada;
	private $idservicio;
	private $telefono;
	private $telefono2;
	private $email;
	private $contacto;
	private $usuario;
	private $status;
	private $pcontacto;
	private $etl;
	private $_idCampania;
	

	
	public function __construct($obj)
	{
		$this->setIdTransaccion($obj->IdTransaccion);
		$this->setReferencia($obj->referencia);
		$this->setDateSolicitud($obj->DateSolicitud);
		$this->setDateSistema($obj->DateSistema);
		$this->setdTipoEntrada($obj->idTipoEntrada);
		$this->setIdServicios($obj->idServicios);
		$this->setTelefono($obj->telefono1);
		$this->setTelefono2($obj->telefono2);
		$this->setEmail($obj->email);
		$this->setProximoContacto($obj->ProximoContacto);
		$this->setUsuario($obj->IdUsuario);
		$this->setStatud($obj->StadoTransaccion);
		$this->setConctato($obj->Contacto);
		$this->setEtl($obj->est);
		$this->setCampania($obj->Campania);
		

	}
	
	public function setIdTransaccion($idtransaccion)
	{
		$this->idtransaccion=$idtransaccion;
	}
	
	public function getIdTransaccion()
	{
		return $this->idtransaccion;
	}
	
	public function setReferencia($referencia)
	{
		$this->referencia=$referencia;
	}
	
	public function getReferencia()
	{
		return $this->referencia;
	}
	
	public function  setDateSolicitud($date)
	{
		$this->datesolicitud = $date;
	}
	
	public function getDateSolicitud()
	{
		return $this->datesolicitud;
	}
	
    public function  setDateSistema($date)
	{
		$this->datesistema = $date;
	}
	
	public function getDateSistema()
	{
		return $this->datesistema;
	}
	
	public function  setdTipoEntrada($entrada)
	{
		$this->tipoentrada = $entrada;
	}
	
	public function getdTipoEntrada()
	{
		return $this->tipoentrada;
	}
	
	public function  setIdServicios($servicio)
	{
		$this->idservicio = $servicio;
	}
	
	public function getIdServicios()
	{
		return $this->idservicio;
	}
		
	public function  setTelefono($telefono)
	{
		$this->telefono = $telefono;
	}
	
	public function getTelefono()
	{
		return $this->telefono;
	}
	
	public function  setTelefono2($telefono)
	{
		$this->telefono2 = $telefono;
	}
	
	public function getTelefono2()
	{
		return $this->telefono2;
	}
	
	public function  setEmail($email)
	{
		$this->email = $email;
	}
	
	public function getEmail()
	{
		return $this->email;
	}
	
	public function  setProximoContacto($contacto)
	{
		$this->contacto = $contacto;
	}
	
	public function getProximoContacto()
	{
		return $this->contacto;
	}
	
	public function  setUsuario($usuario)
	{
		$this->usuario = $usuario;
	}
	
	public function getUsuario()
	{
		return $this->usuario;
	}
	
	public function setStatud($id)
	{
		$this->status = $id;
	}
	
	public function getStatud()
	{
		return $this->status;
	}

    
	public function setConctato($id)
	{
		$this->pcontacto = $id;
	}
	
	public function getConctato()
	{
		return $this->pcontacto;
	}

    public function setEtl($id)
	{
		$this->etl = $id;
	}
	
	public function getEtl()
	{
		return $this->etl;
	}
	
	public function setCampania($id)
	{
		$this->_idCampania = $id;
	}
	
	public function getCampania()
	{
		return $this->_idCampania;
	}
	
	
	}
